# 知识点_数据结构之列表（list）
# 列表（List）是一种有序和可更改的集合。允许重复的成员。
# 构建列表的形式：[] 其中元素以“,”隔开
# 列表是有顺序的一组值，顺序是从 0 位置开始的
squares = [1, 5, 6, 8, 9, 12, 15, 25]
# name_str = "Mike,Mary,Jan,Jack"
user_date_list = ["jitting","xaioshan","xiaomo","jiaxin"]
password_list = [12345,23456,34567,45678]
user_age = [19,18,19,18]
user_date = [["jieting",12345,19],["xiaoshan",23456,18]]
# 应用：请取出每个名字（如取第一个名字）
# print(name_list[0])
print(user_date_list[0])
print(password_list[1])
print(user_age[0])
print(user_date[0])
# 索引： 1.第一项的索引为 0。
# 负索引：2.负索引表示从末尾开始，-1 表示最后一个项目，-2 表示倒数第二个项目，依此类推。
print(user_date_list[-1])
# 索引范围：可以通过指定范围的起点和终点
print(user_date_list[2:4])
# 更改项目值：用引号索引号
user_date_list[1] = "xiaolin"
print(user_date_list[1])
# 遍历列表：for循环
for x in user_date_list:
    print(x)
# 检查项目是否存在:使用in关键词
if "xiaomo" in user_date_list:
    print("yes!")
# 确认列表长度使用 len() 方法：
print(len(user_date_list))
# 添加项目：使用 append() 方法：
user_date_list.append("xiaohuang")
print(user_date_list)
# 在指定的索引处添加项目，请使用 insert() 方法：插入列表第二个位置
user_date_list.insert(1,"xiaochen")
print(user_date_list)
# 删除项目：1：remove() 方法删除指定的项目：
#         2：pop() 方法删除指定的索引（如果未指定索引，则删除最后一项）：
#         3：del 关键字删除指定的索引：
#         4：del 关键字也能完整地删除列表：
#         5.clear() 方法清空列表：
user_date_list.remove("xiaochen")
print(user_date_list)
user_date_list.pop()
print(user_date_list)
del user_date_list[0]
print(user_date_list)
# del user_date_list全部删除
# user_date_list.clear()
# print(user_date_list)
# 复制列表:1.使用 copy() 方法来复制列表：
mylist = user_date_list.copy()
print(mylist)
#         2.使用 list() 方法复制列表：
mylist = list(password_list)
print(mylist)
# 合并两个列表:方法之一是使用 + 运算符
list3 = user_date_list + password_list
print(list3)
# 连接两个列表的另一种方法是将 list2 中的所有项一个接一个地追加到 list1 中：
for x in password_list:
  user_date_list.append(x)

print(user_date_list)
# 使用 extend() 方法，其目的是将一个列表中的元素添加到另一列表中：
# 使用 list() 构造函数创建一个新列表。